package br.com.esporte.persistence.DAO.impl;

import java.util.List;

import javax.persistence.Query;

import org.springframework.stereotype.Repository;

import br.com.base.persistencia.DAO.impl.GenericDAOImpl;
import br.com.esporte.model.Grupo;
import br.com.esporte.model.Usuario;
import br.com.esporte.persistence.DAO.GrupoDAO;
import br.com.esporte.persistence.filter.FiltroGrupo;

/**
 * @author Milton Domingues
 */
@Repository
public class GrupoDAOImpl extends GenericDAOImpl<Grupo, Long, FiltroGrupo> implements GrupoDAO {

	public GrupoDAOImpl() {
		super(Grupo.class);
	}

	@SuppressWarnings("unchecked")
	@Override
	public List<Usuario> consultarModeradores(Grupo grupo){
		StringBuilder hql = new StringBuilder();
		hql.append("SELECT moderadores FROM Grupo grupo INNER JOIN grupo.moderadores as moderadores WHERE grupo = :grupo");
		Query query = createQuery(hql.toString());
		query.setParameter("grupo", grupo);
		return query.getResultList();
	}

}
